package org.byqh.dqeai.entity;

import com.easy.query.core.annotation.Column;
import com.easy.query.core.annotation.EntityFileProxy;
import com.easy.query.core.annotation.Table;
import com.easy.query.core.proxy.ProxyEntityAvailable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.byqh.dqeai.entity.proxy.EaiSysUserProxy;

import java.time.LocalDateTime;

/**
 * 实体类。
 *
 * @author easy-query-plugin automatic generation
 * @since 1.0
 */
@Data
@Schema(name = "EaiSysUser", description = "$table.comment")
@Table(value = "EAI_SYS_USER")
@EntityFileProxy
public class EaiSysUser implements ProxyEntityAvailable<EaiSysUser, EaiSysUserProxy> {

    /**
     * 用户登录唯一标识
     */
    @Schema(description = "用户登录唯一标识", requiredMode = Schema.RequiredMode.REQUIRED)
    @Column(primaryKey = true, value = "USER_ID")
    private String userId;

    /**
     * 用户代码
     */
    @Schema(description = "用户代码", requiredMode = Schema.RequiredMode.REQUIRED)
    @Column(value = "USER_CODE")
    private String userCode;

    /**
     * 用户名称
     */
    @Schema(description = "用户名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @Column(value = "USER_NAME")
    private String userName;

    /**
     * 登录密码
     */
    @Schema(description = "登录密码")
    @Column(value = "USER_PASSWORD")
    private String userPassword;

    /**
     * 组织机构ID
     */
    @Schema(description = "组织机构ID")
    @Column(value = "ORG_ID")
    private String orgId;

    /**
     * 性别
     */
    @Schema(description = "性别")
    @Column(value = "USER_SEX")
    private String userSex;

    /**
     * 邮箱
     */
    @Schema(description = "邮箱")
    @Column(value = "USER_EMAIL")
    private String userEmail;

    /**
     * 电话
     */
    @Schema(description = "电话")
    @Column(value = "USER_TELEPHONE")
    private String userTelephone;

    /**
     * 手机
     */
    @Schema(description = "手机")
    @Column(value = "USER_MOBILE")
    private String userMobile;

    /**
     * QQ号
     */
    @Schema(description = "QQ号")
    @Column(value = "USER_RTX")
    private String userRtx;

    /**
     * 用户IP地址
     */
    @Schema(description = "用户IP地址")
    @Column(value = "USER_IP")
    private String userIp;

    /**
     * 0表示未启用1表示启用
     */
    @Schema(description = "0表示未启用1表示启用")
    @Column(value = "ACTIVE")
    private String active;

    /**
     * 创建日期
     */
    @Schema(description = "创建日期", example = "yyyy-MM-dd HH:mm:ss")
    @Column(value = "CREATE_DATE")
    private LocalDateTime createDate;

    /**
     * 创建用户ID
     */
    @Schema(description = "创建用户ID")
    @Column(value = "CREATE_USER_ID")
    private String createUserId;

    /**
     * 最后更新的日期
     */
    @Schema(description = "最后更新的日期", example = "yyyy-MM-dd HH:mm:ss")
    @Column(value = "UPDATE_DATE")
    private LocalDateTime updateDate;

    /**
     * 更新用户ID
     */
    @Schema(description = "更新用户ID")
    @Column(value = "UPDATE_USER_ID")
    private String updateUserId;

    /**
     * 备注
     */
    @Schema(description = "备注")
    @Column(value = "REMARKS")
    private String remarks;

    /**
     * 失效日期
     */
    @Schema(description = "失效日期", example = "yyyy-MM-dd HH:mm:ss")
    @Column(value = "EXPIRE_DATE")
    private LocalDateTime expireDate;

    /**
     * 部门ID
     */
    @Schema(description = "部门ID")
    @Column(value = "DUTY_ID")
    private String dutyId;

    /**
     * 员工编号
     */
    @Schema(description = "员工编号")
    @Column(value = "JOB_ID")
    private String jobId;
}
